//
//  Game.h
//  Seek&Hide
//
//  Created by 齐思 陈 on 13-10-5.
//
//

#ifndef __Seek_Hide__Game__
#define __Seek_Hide__Game__

#include "Config.h" 

class GameController;
class InformationLayer;
class GameView;
class UILayer;
class LoadingLayer;


//游戏整体流程的控制

class Game : public CCScene
{
public: 

	Game();
	~Game();

	virtual bool init();
    static Game* sharedInstance();
    
    void update(float dt);
    
    void PauseGame();
    void ResumeGame();
    
    void CurRoundEnd();
    
    CC_SYNTHESIZE(int, m_nRoundNum, RoundNum);
    CC_SYNTHESIZE(float, m_fGameTime, GameTime);
    
    CC_SYNTHESIZE_READONLY(bool, m_bPaused, Paused);
    CC_SYNTHESIZE_READONLY(GameStates, m_eGameState, GameState);
    CC_SYNTHESIZE_READONLY(GameModel, m_eGameModel, GameModel);

    F_SYNTHESIZE_DEFINE(GameView*, m_pGameView, GameView);
    F_SYNTHESIZE_DEFINE(GameController*, m_pGameController, GameController);
    F_SYNTHESIZE_DEFINE(InformationLayer*, m_pInformationLayer, InformationLayer);
    F_SYNTHESIZE_DEFINE(UILayer*, m_pUILayer, UILayer);
    F_SYNTHESIZE_DEFINE(LoadingLayer*, m_pLoadingLayer, LoadingLayer);
};

#endif
